Flow-sensitive Typing
型{推論,検査}にコントロールフローを利用する型システム。
TypeScript, Typed Racket(c.f. occurrence typing)などが利用している。
型版のsupercompilationっぽい
code:typescript
function f(v : number | null) {
if (v !== null) {
// この中ではなんとvの型はnumberとして扱われる
......
} else {
// この中ではなんとvの型はnullとして扱われる
}
}